home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 30 / tbscnx29.zip / TBSCANX.DOC < prev    next >
Text File  |  1991-06-25  |  37KB  |  907 lines

  1.     DOCUMENTATION FOR TBSCANX V2.9
  2.  
  3.  
  4.  
  5. REGULATIONS WITH REGARD TO USE AND DISTRIBUTION OF TBSCANX
  6. ----------------------------------------------------------
  7.  
  8.     Both TbScanX and the accompanying documentation are SHAREWARE.  This
  9.     simply means the program is covered by the copyrights of ESaSS,  but
  10.     can  be  used  and  distributed  freely  as  long  as  the following
  11.     regulations are observed.
  12.  
  13.     +   Concerning the distribution of the TbScanX program no
  14.         administration and/or shipping costs exceeding the amount of
  15.         $5,- may be charged.
  16.  
  17.     +   Distribution of TbScanX may only take place when both the
  18.         program and the documentation are left unmodified and only when
  19.         the complete program is supplied.
  20.  
  21.     +   So it is not allowed to distribute the program apart from the
  22.         documentation.
  23.  
  24.     +   ESaSS accepts no responsibility in case the program
  25.         malfunctions or does not function at all.
  26.  
  27.     +   ESaSS can never be held responsible for damage, directly or
  28.         indirectly resulting from the use of TbScanX.
  29.  
  30.     +   Using TbScanX means that you agree on these regulations.
  31.  
  32.  
  33.  
  34. DESCRIPTION TBSCANX
  35. -------------------
  36.  
  37.     TbScanX is  a program  that was  developed to  trace viruses, Trojan
  38.     Horses and other  threats to your  valuable data. It  is a so-called
  39.     virus scanner.
  40.  
  41.     A virus  scanner is  a program  that is  able to  search a signature
  42.     that  has  been  determined  beforehand.  Most  viruses consist of a
  43.     unique signature,  so by  means of  checking for  the appearance  of
  44.     this  signature  we  can  see  whether  or  not  a  program has been
  45.     infected.
  46.  
  47.     By  searching  all  your  program  files  for  the signatures of all
  48.     viruses already identified you  can easily find whether  your system
  49.     has been infected and, if that is the case, with which virus.
  50.  
  51.     By now already many virus scanners have been developed. The  problem
  52.     with all these  scanners is that  you have to  execute them. Suppose
  53.     you   have   the   virusscanner   automatically   invoked   in  your
  54.     autoexec.bat file. If no viruses are found, your system is  supposed
  55.     to be  uninfected. But,  to be  sure that  no virus  can infect your
  56.     system, you have  to run the  scanner every time  before you copy  a
  57.     file to your  harddisk, after downloading  a file from  your BBS, or
  58.     after unarchiving an archive such as  a ZIP file. Be honest, do  YOU
  59.     actually invoke your scanner every time?
  60.  
  61.  
  62.     TbScanX has  a unique  feature to  overcome this  drawback, it  will
  63.     remain  resident  in  memory,  and  AUTOMATICALLY scan all files you
  64.     execute, copy, download, modify, or unarchive!
  65.  
  66.     TbScanX  also  scans  the  boot   sector  of  the  removable   media
  67.     automatically every time  you insert a  new diskette in  a drive. If
  68.     the disk is contaminated with a boot sector virus TbScanX will  warn
  69.     you!
  70.  
  71.     Probably  you  think  that  a  resident  virus scanner consumes much
  72.     memory, makes your  system slow, and  is a source  of many problems.
  73.     But, if  you already  know our  free-ware scanner  TBSCAN, you  know
  74.     that this  scanner can  scan your  files ten  times faster  compared
  75.     with  other  scanners.  Also  TbScanX  achieves  this lightning fast
  76.     speed. Actually, TbScanX is a  lot faster, since it will  not access
  77.     your disk  to scan  the files,  because all  files to  be created or
  78.     modified reside already in memory!
  79.  
  80.     Besides this,  TbScanX consumes  only 8 Kb  of memory, including the
  81.     signatures  to  scan  for!  If  there  is expanded memory available,
  82.     TbScanX uses even less than 1Kb of memory!
  83.  
  84.     TbScanX carries the same feature of its transient brother TBSCAN:
  85.  
  86.     +   TbScanX is fully programmable by means of a data file.
  87.  
  88.         Most of the time viruses  spread quickly. After a new  virus has
  89.         been found there  is often no  time to adapt  your virus checker
  90.         in order to make it capable of recognizing this new virus.  That
  91.         is why TbScanX uses a data  file in which the signatures of  the
  92.         viruses occur.  This file  can quickly  be adapted,  possibly by
  93.         yourself,  for  example  when  you  are  informed of a new virus
  94.         through  the  media.  TbScanX  supports  among  other things the
  95.         format which  is used  in the  file "virscan.dat".  This file is
  96.         regularly adapted and can be obtained at a lot of data banks.
  97.  
  98.  
  99.     +   TbScanX supports wildcards in the signature.
  100.  
  101.         A lot  of viruses  encrypt themselves  after each  infection, so
  102.         the signatures always look different.  There is one part of  the
  103.         virus however that cannot be  modified: the routine that has  to
  104.         "unpack" the modified part of the virus.
  105.  
  106.         But it is a misunderstanding that this part of the virus  always
  107.         should look the same. The fact is there are viruses that  pepper
  108.         their  unpack-routine  with  useless  instructions which have no
  109.         effect and which are continuously replaced by other  nonsensical
  110.         instructions. Although the  unpack-routine always functions  the
  111.         same, it looks  different every time  because of these  changing
  112.         fake instructions!
  113.  
  114.         By inserting  wildcards on  places where  the fake  instructions
  115.         occur  in  the  signatures  of  the  data file, such a virus can
  116.         still be  traced and  identified. This  is the  case because any
  117.         character may be used on the place of a wildcard.
  118.  
  119.  
  120.  
  121.         It is also possible to  skip a variable amount of  garbage bytes
  122.         in the signature.
  123.  
  124.  
  125.     +   TbScanX supports normal text as the signature.
  126.  
  127.         Most signatures are inserted in ASCII-HEX. But when desired  you
  128.         can also specify  a normal text  as the signature.  In this case
  129.         you put the text between double quotation marks.
  130.  
  131.  
  132.     +   TbScanX offers other  software an  universal  hook to scan  data
  133.         for viruses.  If you  are a  programmer, you  can instruct  your
  134.         programs to scan information  read from disk for  viruses before
  135.         using the data.
  136.  
  137.  
  138.  
  139.  
  140. USAGE OF THE PROGRAM
  141. --------------------
  142.  
  143.     TbScanX is easy  to use. Simply  type TBSCANX. The  program can also
  144.     be invoked from  within your config.sys  file by inserting  the line
  145.     "device=TBSCANX.COM".  The  advantage  of  the  last  method is that
  146.     TbScanX will  get a  better position  in the  memory and  is able to
  147.     protect the system before other programs are executed. TbScanX  uses
  148.     also  less  memory  in  device  driver  mode.  (NOTE:  If you invoke
  149.     TbScanX  from  within  your  config.sys  you  have  to  specify  the
  150.     extension .COM)
  151.  
  152.     If  you  use  MS-Windows  you  should  load  TbScanX BEFORE starting
  153.     Windows.  If  you  do  that  there  is  only  one copy of TbScanX in
  154.     memory,  but  every  DOS-window  will  nevertheless  have  a   fully
  155.     functional TbScanX  in it.  TbScanX detects  if Windows  is starting
  156.     up, and will switch itself in multitasking mode if neccesary.
  157.  
  158.  
  159.     It is  possible to  specify so-called  options on  the command line.
  160.     TbscanX recognizes option-characters and option-words. The words are
  161.     more easy  to remember,  and they  will be  used in  this manual for
  162.     convenience.
  163.  
  164.  
  165.     Options available:
  166.         -help,      -h  =display this helpscreen
  167.         -off,       -d  =disable scanning
  168.         -on,        -e  =enable scanning
  169.         -remove,    -r  =remove TbScanX from memory
  170.  
  171.         -noexec,    -n  =never scan at execute
  172.         -allexec,   -a  =always scan at execute
  173.         -noboot,    -s  =do not scan bootsectors
  174.         -quiet,     -q  =do not display *Scanning*
  175.         -expanded,  -me =use expanded memory
  176.         -umb,       -mu =use upper memory
  177.         -herchalf,  -mh =use Hercules-half memory
  178.         -hercfull,  -mf =use Hercules-full memory
  179.         -cga,       -mc =use CGA/EGA/VGA memory
  180.         -yes,       -y  =always respond with Yes
  181.         -valid,     -u  =unauthorized signatures allowed
  182.         [-data] <filename>, [-f] <filename> =use specified signature file
  183.  
  184.  
  185.     -help
  186.  
  187.     If you specify this  option TbScan will show  you the brief help  as
  188.     shown above.
  189.  
  190.  
  191.     -off
  192.  
  193.     If you  specify this  option TbScanX  will be  disabled, but it will
  194.     remain in memory.
  195.  
  196.  
  197.  
  198.     -on
  199.  
  200.     If you  use this  option TbScanX  will be  activated again after you
  201.     disabled it with the -off option.
  202.  
  203.  
  204.     -remove
  205.  
  206.     This option can be used to remove the resident part of TbScanX  from
  207.     your  memory.   All  memory   used  by   TbScanX  will   be   freed.
  208.     Unfortunately,  the  removing  of  a  TSR  is  not  always possible.
  209.     TbScanX checks whether it is  safe to remove the resident  part from
  210.     memory, if it is  not safe it just  disables TbScanX. A TSR  can not
  211.     be removed if some other TSR  is started after TbScanX.  If  this is
  212.     the case TbScanX will completely  disable itself.  If the  character
  213.     device "SCANX" exists it will  be renamed to "$CANX". If  you invoke
  214.     TbScanX again  at some  later time  the device  will be  renamed and
  215.     re-used automatically.
  216.  
  217.  
  218.     -data
  219.  
  220.     You can override the default path  en name of the signature file  by
  221.     using this option.
  222.  
  223.     TbScanX looks for the data file in this order:
  224.     1)  If the -data option is used it will use the specified file.
  225.     2)  It searches in the active directory for a file with the
  226.         name TBSCAN.DAT.
  227.     3)  It searches for TBSCAN.DAT in the same directory as the
  228.         program file TBSCAN.COM itself is located (only DOS 3+).
  229.     4)  It searches in the active directory for a file with the
  230.         name VIRSCAN.DAT.
  231.  
  232.     If  TbScanX  does  not  succeed  in  recognizing  or  locating   the
  233.     appropriate data file by default, you should use the -data option.
  234.  
  235.  
  236.     -noexec
  237.  
  238.     TbScanX normally scans files located on removable media just  before
  239.     they are executed.  If you  don't like that you can use  this option
  240.     to disable this feature completely. This option can only be used  at
  241.     the initial invokation of TbScanX.
  242.  
  243.  
  244.     -allexec
  245.  
  246.     TbScanX normally scans files to  be executed only if they  reside on
  247.     removable media. Files  on the harddisk  are trusted, because  files
  248.     on the  harddisk have  to be  copied or  downloaded before  they can
  249.     exist on your  disk. And by  that time TbScanX  already scanned them
  250.     automatically. But if you also like every file to be scanned  before
  251.     it will be  executed, no matter  whether they reside  on harddisk or
  252.     removable media, you  should use this  option. This option  can only
  253.     be used at the initial invokation of TbScanX.
  254.  
  255.  
  256.  
  257.     -noboot
  258.  
  259.     TbScanX  monitors  the  disk  system:  every  time the bootsector is
  260.     being read, TbScanX automatically  scans it for bootsector  viruses.
  261.     If you change a disk, the first  thing DOS has to do is reading  the
  262.     bootsector, otherwise it can  not know what kind  of disk is in  the
  263.     drive. And as  soon as DOS  reads the bootsector,  TbScanX checks it
  264.     for  viruses.  If  you  don't  like  this  feature,  or if it causes
  265.     problems,  you  can  switch  it  off  using the -noboot option. This
  266.     option can  only be  used at  the initial  invokation of TbScanX. If
  267.     you  specify  this  option  TbScanX  will  also require less memory,
  268.     because the bootsector signatures will not be stored in memory.
  269.  
  270.  
  271.     -quiet
  272.  
  273.     TbScanX  normally  displays  a  rectangle  with  "*Scanning*" in the
  274.     upper left  corner of  your screen  while it  performs its scanning.
  275.     You can disable that by using  this option. This option can only  be
  276.     used at the initial invokation of TbScanX.
  277.  
  278.  
  279.     -valid
  280.  
  281.     TbScanX checks the signature file for modifications.  If you  change
  282.     the contents  of that  file TbScanX  will issue  a warning.   If you
  283.     don't want the warning to be displayed, use the -valid option.
  284.  
  285.  
  286.     -yes
  287.  
  288.     If you  are a  system operator,  you can  disable the possibility to
  289.     continue after TbScanX detected a signature. Normally the user  will
  290.     be prompted  "Abort Y/N",  but if  you specify  -yes on  the command
  291.     line, TbScanX will always act  like the user responded with  "Y". No
  292.     stupid  user  can  now  give  permission  for  unwanted,   dangerous
  293.     activities.
  294.  
  295.  
  296.     -umb
  297.  
  298.     This parameter can be used to load TbScanX into upper memory.  Upper
  299.     memory is available  on many 80386  based machines which  run memory
  300.     managers like  QEMM. TbScanX  will load  itself in  upper memory, so
  301.     don't use  special highload  programs or  the DOS  highload command.
  302.     If you use this option  in combination with other memory  options it
  303.     will load the  remaining part of  TbScanX in conventional  memory to
  304.     upper memory. So TbScanX can use Expanded memory and high memory  at
  305.     the same time. The  result is that also  the amount of upper  memory
  306.     required is minimized.
  307.  
  308.  
  309.  
  310.     -expanded
  311.  
  312.     If  you  specify  this  option  TbScanX  will use expAnded memory to
  313.     store the signatures and part  of its program code. Expanded  memory
  314.     is  allocated  in  16Kb  blocks,  so  the minimum amount of expanded
  315.     memory you  loose is  16Kb.   However, conventional  memory is  more
  316.     valuable  to  your  programs  than  expanded  memory, so use of this
  317.     option is recommended.
  318.  
  319.  
  320.     -herchalf
  321.  
  322.     If you  specify this  parameter TbScanX  will use  some part  of the
  323.     Hercules  videomemory  to  store  the  signatures.  As  long  as the
  324.     videocard remains in  the text mode  it uses only  a little part  of
  325.     its videomemory. The rest can be used by... TbScanX. Videomemory  is
  326.     very slow, so also TbScanX will slowdown somewhat. If you execute  a
  327.     program that switches the card  into the graphics mode TbScanX  will
  328.     disable itself  completely. You  can re-activate  TbScanX by running
  329.     it again.  It will  automatically remove  the old  resident part  of
  330.     TbScanX that might be left in memory.
  331.  
  332.  
  333.     -hercfull
  334.  
  335.     This parameter  does the  same as  the -herchalf  parameter, but  it
  336.     will switch the  Hercules card in  the so called  full mode. TbScanX
  337.     then uses  videomemory that  will not  be used  by even  most of the
  338.     graphics  software.  You  can  run  a graphics program while TbScanX
  339.     remains active  at the  same time!  But watch  out! If  you have two
  340.     videocards  in  your  machine  at  the  same  time,  DO NOT USE this
  341.     option!
  342.  
  343.  
  344.     -cga
  345.  
  346.     This parameter does the same  as the -herchalf or -hercfull  option,
  347.     but  it  will  now  use  CGA/EGA/VGA videomemory instead of Hercules
  348.     memory.
  349.  
  350.  
  351.  
  352.  
  353.     Examples:
  354.  
  355.         c:\utils\tbscanx -data c:\tb\tbscan.dat -expanded -umb
  356.     or:
  357.         device=c:\utils\tbscanx.com -data c:\tb\tbscan.dat -umb -noboot
  358.  
  359.  
  360.  
  361.  
  362.  
  363.     Whenever a program tries to write to an executable file (files  with
  364.     the  extensions  .COM  and  .EXE),  you  will  shortly  see the text
  365.     "*Scanning*"  in the  upper left corner  of your screen.  As long as
  366.     TbScanX is scanning this text  will appear. Since TbScanX takes  not
  367.     much time to scan the file, the message will only appear shortly.
  368.  
  369.     If  TbScanX  detects  a  signature  in  a  file, it will display the
  370.     message:
  371.  
  372.         WARNING, <filename> is infected with <virus name>!
  373.         Abort? (Y/n)
  374.  
  375.     Press "N" to continue, press any other key to abort.
  376.  
  377.     If TbScanX detects a signature in a boot sector, it will display the
  378.     message:
  379.  
  380.         WARNING, Disk in <drive> is infected with <virus name>!
  381.         Press a key...
  382.  
  383.     Although a virus  seems to be  on the boot  sector of the  specified
  384.     drive, the  virus can  not do  anything. However,  if you reboot the
  385.     machine  with  the  contaminated  diskette  still  in the drive, the
  386.     virus will copy itself to your harddisk.
  387.  
  388.  
  389.     To display the name of  the virus, TbScanX needs the  signature file
  390.     again.  It will automatically  use the signature file that  was used
  391.     when  you  invoked  the  program.  If  the signature file is missing
  392.     (because you  deleted it,  or because  you removed  the floppy  with
  393.     it),  or  no  file  handles  are  left,  TbScanX  will  still detect
  394.     viruses, but it is no longer able to display the name of the  virus.
  395.     It will display [Name unknown] instead.
  396.  
  397.     When TbScanX has been started from within the config.sys file (as  a
  398.     device  driver)  it  has  added  a  character  device  with the name
  399.     "SCANX". When you sent data to this device the data will be  scanned
  400.     for signatures. Try this:
  401.  
  402.     copy testvir.com scanx /b
  403.  
  404.  
  405.  
  406.     No file will  be created with  the name "scanx"  but the input  (the
  407.     contents of  the file  "testvir.com") will  be scanned  for viruses.
  408.     This way you  can easy inspect  any file (also  the non-executables)
  409.     for the existence of virus  signatures without the need to  invoke a
  410.     special program. If  the device "scanx"  detects a signature  in the
  411.     input it will simulate a DOS "write protect error".
  412.  
  413.     Note that you  have to specify  the "/b" option.  Otherwise DOS will
  414.     sent the characters to  the device one by  one. This consumes a  lot
  415.     of time  and of  course, no  signatures will  be found  in one  byte
  416.     sequences!
  417.  
  418.  
  419.  
  420. REGISTERING
  421. -----------
  422.  
  423.     The unregistered version of TbScanX  will prompt you to press  a key
  424.     while starting up,  except when you  have a Thunderbyte  add-on card
  425.     installed. To register TbScanX, see the register.doc file.
  426.  
  427.     Only  the  registered  version  of  TbScanX  is  able to make use of
  428.     expanded memory without random restrictions.
  429.  
  430.     Once registered,  you can  use all  future versions  of TbScanX  for
  431.     free!
  432.  
  433. --> YOU DON'T HAVE TO REGISTER TBSCANX IF YOU USE IT IN A PC WITH A
  434.     THUNDERBYTE ADD-ON CARD INSTALLED!
  435.  
  436.  
  437. FORMAT OF THE DATA FILE
  438. -----------------------
  439.  
  440.     The data file (called TBSCAN.DAT or VIRSCAN.DAT) can be read  and/or
  441.     modified with every ASCII editor.
  442.  
  443.     All  lines  beginning  with  ";"  are comment lines. TbScanX ignores
  444.     these lines  completely. When  the ";"  character is  followed by  a
  445.     percent-sign the  remaining part  of the  line will  be displayed on
  446.     the screen.  A maximum  of 15  lines can  be printed  on the screen.
  447.     Nice for "HOT NEWS"...
  448.  
  449.     In the first line the name  of a virus is expected. The  second line
  450.     contains one or more of the next words:
  451.                         BOOT SYS EXE COM HIGH LOW
  452.  
  453.     These words may be separated by spaces, tabs or commas.
  454.  
  455.     TbScanX will  only scan  for viruses  with the  keywords COM, EXE or
  456.     BOOT.  The other keywords will be ignored, and are only used by  the
  457.     non-resident version:   TBSCAN.   Also note  that TbScanX  will  not
  458.     distinguish between COM and EXE files. All executable files will  be
  459.     scanned for both EXE and COM viruses. This saves some memory.
  460.  
  461.     BOOT means that the  virus is a bootsector  virus. SYS, EXE and  COM
  462.     indicate the virus  can occur in  files with these  extensions. Also
  463.     overlay files  (with the  extension OV?)  will be  searched for  EXE
  464.     viruses. HIGH shows that the virus  can occur in the memory of  your
  465.     PC, namely in  the memory located  above the TBSCAN  program itself.
  466.     LOW means that the virus can occur in the memory of your PC,  namely
  467.     in the memory located under the TBSCAN program itself.
  468.  
  469.     In the  third line  the signature  is expected  in ASCII-HEX.  Every
  470.     virus character is  described by means  of two characters.   Instead
  471.     of two HEX characters, two question marks (the wild- card) may  also
  472.     occur. The  latter means  that every  byte on  that position matches
  473.     the  signature.  Below  you  will  find  an  example of a signature:
  474.             A5E623CB??CD21??83FF3E
  475.  
  476.  
  477.     A  single  question  mark  paired  with an ASCII-HEX character means
  478.     that  the  wildcard  is  only  valid  for the with the question mark
  479.     corresponding half of the byte (a so called nibble).
  480.  
  481.     You can also use the asterisk followed by an ASCII-HEX character  to
  482.     skip a  variable amount  of bytes  in the  signature. The  ASCII-HEX
  483.     character specifies the amount of bytes that should be skipped.  The
  484.     signature could be:
  485.             A5E623CB*3CD2155??83FF3E?BCD
  486.     The next sequence of bytes will be recognised as a virus:
  487.             A5E623CB142434CD21554583FF3E3BCD
  488.  
  489.     A  precent  sign  (%)  followed  by an ASCII-HEX character indicates
  490.     that the remaining  part of the  signature should be  found a number
  491.     of  bytes  away.  The  ASCII-HEX  character  specifies  the  maximum
  492.     distance the remaining part should occur.
  493.  
  494.     You can use the "**" -wildcard to skip an unlimited variable  amount
  495.     of bytes in the signature.
  496.  
  497.     It is allowed to use  spaces in the ASCII-HEX signature  to increase
  498.     the readability.
  499.  
  500.  
  501.     Instead of a  signature in ASCII-HEX  you can also  specify a normal
  502.     text. This should be put  between double quotation marks. A  correct
  503.     signature is for example:
  504.             "I have got you!"
  505.  
  506.     This  series  of  three  lines  should  be repeated for every virus.
  507.     Between all lines comment lines may occur.
  508.  
  509.  
  510.  
  511. LIMITATIONS
  512. -----------
  513.  
  514.     +   128 Kb of free memory is needed to start the program.
  515.         (10 Kb of memory once installed in memory)
  516.  
  517.     +   DOS version 3.0 or later is needed.
  518.  
  519.     +   The size of the data file has a maximum of 64 Kb.
  520.  
  521.     +   The name of a virus may consist of maximally 30 characters.
  522.  
  523.     +   The ASCII-HEX signature can consist of maximally 80 characters.
  524.  
  525.     +   Up to 600 different signatures may be specified.
  526.  
  527.     +   All filenames have a maximum length of 48 characters.
  528.  
  529.  
  530.  
  531. ERRORMESSAGES
  532. -------------
  533.  
  534.     Errormessages that can be displayed:
  535.  
  536.     +   Not enough memory
  537.         There is not enough free memory.
  538.  
  539.     +   Error in data file at line <number>.
  540.         There is an error in the specified line of the data file.
  541.  
  542.     +   Limit exceeded.
  543.         The data file was too long or too many virus signatures
  544.         occur in it.
  545.  
  546.     +   Data file not found.
  547.         TbScanX has not been able to locate the data file.
  548.  
  549.     +   Processor type does not match.
  550.         You are using a processor dependant version of TbScanX and
  551.         it can not be executed by the current processor.
  552.  
  553.  
  554.  
  555. SPECIAL VERSIONS
  556. ----------------
  557.  
  558.     The file TBSCANX.COM is fully functional.  However, we supplied  two
  559.     special  versions  of  TbScanX  to  be  used  with certain processor
  560.     types.  If  you use the  special 286 or  386 version of  TbScanX you
  561.     will get the best out of your processor concerning memory usage  and
  562.     speed.  If you want to  use the 286 version of TbScanX,  just rename
  563.     the file TBSCANX.286  to TBSCANX.COM. The  same applies to  the file
  564.     TBSCANX.386.
  565.  
  566.     TBSCANX.COM:    Universal version. Runs on all processor types.
  567.                     Supports Windows 386-enhanced-mode.
  568.                     Uses more memory and is somewhat slower compared to
  569.                     the other versions.
  570.  
  571.     TBSCANX.286:    Runs on machines with a NEC-V20, NEC-V30, 80286,
  572.                     80386 and 80486 processor.
  573.                     Does NOT support Windows 386-enhanced-mode.  This
  574.                     version uses almost 100 bytes less compared to the
  575.                     other versions and is somewhat faster.
  576.  
  577.     TBSCANX.386:    Runs on machines with a 80386 or 80486 type
  578.                     processor.  Supports Windows 386-enhanced-mode.
  579.                     Uses less memory compared to the standard version,
  580.                     but more than the 286 version due to the Windows
  581.                     support.  It is the fastest version available.
  582.  
  583.  
  584.  
  585.  
  586. Application Interface
  587. ---------------------
  588.  
  589.     If you are a  software developer you can  use TbScanX to check  data
  590.     for viruses. A  program can perform  a self check  as soon as  it is
  591.     invoked by  sending its  code to  TbScanX. A  program that processes
  592.     other programs or parts of  it (by example scramblers or  executable
  593.     file  compressors)  should  check   the  data  for  viruses   before
  594.     processing it.
  595.  
  596.     High-level control
  597.  
  598.     This  method  is   most  usefull  for   the  so-called  high   level
  599.     programming  languages  and  languages  that  lack  the  ability  to
  600.     generate interrupts.
  601.  
  602.     Try to open the file "SCANX".  If this file exists TBSCANX has  been
  603.     invoked from  within the  config.sys and  is active  in the machine.
  604.     Open the file in the binairy mode.  Write the data to be scanned  to
  605.     the  opened  file.   If  the  data  contains  a signature of a virus
  606.     TbScanX simulates a  DOS "write protect  error". If nothing  happens
  607.     and the data is accepted no signature could be found in it.
  608.  
  609.     Low-level control
  610.  
  611.     This method is more complex, but offers more possibilities. If  your
  612.     programming language supports issuing  interrups you should be  able
  613.     to use  this method.   This method  also functions  when TbScanX has
  614.     not been started as device driver but as a normal TSR.
  615.  
  616.     The interface consist of some multiplex calls (int 2Fh). Register AH
  617.     should  contain  CAh.  Register  AL  contains  the  function request
  618.     number.
  619.  
  620.     Supported function requests:
  621.  
  622.  
  623.     AL=0    InstallationCheck
  624.  
  625.         Return value:
  626.         AL=0    TbScanX not installed
  627.         AL=FFh  TbScanX installed
  628.  
  629.         If BX was 'TB' then it is now changed into 'tb'.
  630.  
  631.  
  632.     AL=1    GetStatus
  633.  
  634.         Return value:
  635.         AH      Version number TbScanX in BCD. (CAh if version < 2.2)
  636.         AL=0    TbScanX disabled
  637.         AL=1    TbScanX enabled
  638.         BX      Segment swap area. Zero if not swapped.
  639.         CX      Number of signatures that will be searched.
  640.         DX      EMS_Handle. -1 if no expanded memory in use.
  641.  
  642.  
  643.  
  644.  
  645.     AL=2    SetStatus
  646.         BL=0    Disable TbScanX
  647.         BL=1    Enable TbScanX
  648.  
  649.         Return value:
  650.         NONE
  651.  
  652.  
  653.     AL=3    ScanBuffer
  654.         DS:DX   Address of buffer to scan.
  655.         CX      Length of buffer to scan.
  656.  
  657.         Return value:
  658.         No Carry flag set       No signatures found in buffer.
  659.         Carry:                  Signature found in buffer!
  660.                 ES:BX   ASCIIZ-name of virus (null terminated)
  661.  
  662.         Registers altered:
  663.         AX,BX,CX,DX,ES
  664.         The contents of the buffer remains unchanged.
  665.  
  666.  
  667.     AL=4    ScanFile
  668.         DS:DX   Name of the program file to be scanned.
  669.  
  670.         WARNING! There should be at least 4 Kb of free memory to
  671.         perform this function!
  672.  
  673.         Return value:
  674.         No Carry flag set       No signature found in file.
  675.         Carry:                  Signature found in buffer!
  676.                 ES:BX   ASCIIZ-name of virus (null terminated)
  677.  
  678.         Registers altered:
  679.         AX,BX,CX,DX,ES
  680.  
  681.  
  682.  
  683.    Assembler example:
  684.  
  685.         mov ah,0CAh             ;Multiplex number
  686.         mov al,0
  687.         int 02Fh                ;Installation check
  688.         cmp al,0FFh             ;If AL=FFh TbScanX has been installed.
  689.         jne notinstalled        ;Else TbScanX has not been installed.
  690.  
  691.         lea dx,buffer           ;Address of the buffer in DS:DX
  692.         mov cx,512              ;Length of our buffer
  693.         mov ah,0CAh             ;Multiplex number
  694.         mov al,3
  695.         int 02Fh                ;ScanBuffer
  696.         jnc notinfected         ;No carry? Then no virus found!
  697.  
  698.         call print              ;Virus found. Print name ES:BX
  699.  
  700.     notinfected:
  701.  
  702.  
  703.  
  704. THUNDERBYTE
  705. -----------
  706.  
  707.     Virus scanners have a number of very serious disadvantages!
  708.  
  709.     +   They cannot prevent infection. Virus scanners can only tell  you
  710.         whether or not your system has been infected and if so,  whether
  711.         any  damage  has  already  been  done.  By  then  only  a   good
  712.         (non-infected) backup can still save you.
  713.  
  714.     +   They  can   only  recognize   viruses  that  have  already  been
  715.         identified. When a  new virus has  been launched it  will take a
  716.         while before someone discovers it. After that it will take  some
  717.         time before a reliable signature  is dis- tilled from the  virus
  718.         and it will also take a while for you to get hold of the  newest
  719.         virscan.dat.  All  this means that  there is a  real chance that
  720.         your system  is infected  at a  moment virus  scanners have  not
  721.         yet recognized "your" virus!
  722.  
  723.     Viruses get more  and more advanced.  Among other things  because of
  724.     all the  attention the  media is  paying to  the phenomenon computer
  725.     virus. It  has even  become a  real sport  for sick  minds to  write
  726.     computer  viruses.  Even  viruses  that  have  no  stable  signature
  727.     anymore  have  already  been   discovered.  Because  TbScan   allows
  728.     wildcards in the data file it  can still trace this kind of  viruses
  729.     quite often. But it will  not take much time anymore  before viruses
  730.     will be  created  that  have no  special  characteristics  at all by
  731.     which they can be identified.  And then even TbScan cannot  help you
  732.     anymore. Even viruses that look for the DOS entry point in the  same
  733.     way as TbScan does, avoiding detection by protection programs in  an
  734.     effective way, already exist.
  735.  
  736.     To provide programs with a  checksum is neither a solution:  as soon
  737.     as a file is  read in, viruses can  disinfect it, so every  infected
  738.     program looks like one that is not.
  739.  
  740.     There is however ONE solution for the abovementioned problems:
  741.                          *** Thunderbyte! ***
  742.  
  743.     Thunderbyte  was  developed  to  protect  Personal Computers against
  744.     computer viruses, Trojan Horses and other threats to valuable  data.
  745.     It  is  a  hardware  protection,  consisting  of an adapter card, an
  746.     installation  and  configuration  program  and  a  clear manual. The
  747.     working  of  Thunderbyte  is  not  based  on  knowledge  of specific
  748.     viruses, so Thunderbyte also protects against future viruses.
  749.  
  750.     A hardware protection  offers much more  protection than a  software
  751.     protection.  Thunderbyte  is  already  active  before  the operating
  752.     system is loaded,  so the computer  will be totally  protected right
  753.     after the starting of the PC.
  754.  
  755.     Because of the many configuration possibilities and the  intelligent
  756.     algorisms, the use  of Thunderbyte will  never become a  burden: you
  757.     will hardly  notice the  presence of  Thunderbyte in  an environment
  758.     without any viruses.
  759.  
  760.  
  761.     Advantages of a hardware protection:
  762.  
  763.     +   The protection uses very little (1Kb) RAM
  764.  
  765.     +   The protection is  already active before the first boot  attempt
  766.         of  the  PC,  and  therefore  protects  also  against bootsector
  767.         viruses.  A  software  protection  can  not  protect you against
  768.         bootsector  viruses,  since  it  has  not  been executed at boot
  769.         time.
  770.  
  771.     +   De hard  disks  can  not be  accessed directly  anymore, because
  772.         Thunderbyte is connected to the hard disk cable.
  773.  
  774.     +   It is impossible  to forget to  start  Thunderbyte, even  if the
  775.         machine is booting with a diskette.
  776.  
  777.  
  778.  
  779.     Thunderbyte offers you many kinds of protection:
  780.  
  781.  
  782.     +   Protection against loss of data.
  783.  
  784.         Thunderbyte is connected between the cable of the hard disk  and
  785.         the controller. It  prevents the hard  disk from being  accessed
  786.         directly. The only  way to access  the drive from  now on is  by
  787.         initiating an int 13h.
  788.  
  789.         In addition  Thunderbyte detects  all direct  disk writes  which
  790.         try  to  achieve  a  modification  or  damage of the data and it
  791.         checks which  program orders  the execution  of such operations.
  792.         Only  the   operating  system   can  preform   these  operations
  793.         unmentioned.
  794.  
  795.         Standard DOS  already has  the possibility  of protecting  files
  796.         against overwriting and modification  by means of the  read only
  797.         attribute.  However   this  protection   can  be   very   easily
  798.         eliminated  by  software.     But   Thunderbyte  prevents   this
  799.         protection from being ruled  out without this being  noticed, so
  800.         now  it  is   nevertheless  possible  to   protect  your   files
  801.         effectively with a standard method.
  802.  
  803.  
  804.     +   Protection against infection.
  805.  
  806.         Thunderbyte  protects  programs  (files  with the extension EXE,
  807.         COM or SYS)  against infection  by judging all modifications  on
  808.         their intention.  The functionality  is not  influenced by this.
  809.         Compiling,  linking,  etc.,  are  not  disturbed and neither are
  810.         programs that save their configuration internally.  Furthermore,
  811.         software  can be protected  with the help of  the aforementioned
  812.         read only attribute.
  813.  
  814.         Attempts to modify the bootsector  of the disk are detected,  so
  815.         the  dreaded  bootsector  viruses  are  also eliminated. Keep in
  816.         mind that the  bootsector can hardly  be protected by  software.
  817.         Only Thunderbyte already becomes active  before the system tries
  818.         to boot!
  819.  
  820.  
  821.     +   Detection of viruses.
  822.  
  823.         In  addition  to  the  abovementioned  ways  of  detecting   the
  824.         presence of viruses, Thunderbyte can also do so because  viruses
  825.         carry  out  a  number  of  special  operations. For example, the
  826.         marking  of  already  infected  programs  in  order to recognize
  827.         them,  is  detected  by  Thunderbyte.  So  are  the  attempts of
  828.         viruses to  reside in  the memory  in a  suspicious way  and the
  829.         abnormal manipulations with interrupt vectors.
  830.  
  831.  
  832.     +   Password protection.
  833.  
  834.         Thunderbyte  has  the  possibility  of  installing  a  password.
  835.         There are two kinds of  passwords: one that is always  asked for
  836.         or one that  you only have  to enter when  attempts are made  to
  837.         start from a diskette instead of the hard disk.
  838.  
  839.     +   Safety.
  840.  
  841.         A lot of  attention has been  paid to the  safety of Thunderbyte
  842.         The program code of Thunderbyte  is located in ROM and  there is
  843.         no way it can be modified.
  844.  
  845.         There  is  not  one  method  of  eliminating Thunderbyte through
  846.         software. All the important settings are realized with the  help
  847.         of  dipswitches  on  the  adapter  card.  And  despite all their
  848.         wasted  intelligence,  viruses  will  never  be  able  to   turn
  849.         switches or to influence their read outs.
  850.  
  851.         Viruses that approach the  controller of the hard  disk directly
  852.         will  have  a  rude  awakening:  Thunderbyte will only pass disk
  853.         writes when the write or format command has followed the  normal
  854.         (checked) course.
  855.  
  856.         There  are   a  lot   of  different   versions  of   Thunderbyte
  857.         (functioning  identically  however)  that  are  supplied  on the
  858.         basis of capriciousness. That  is why knowledge of  the internal
  859.         working  of  only  one  Thunderbyte  system is not sufficient to
  860.         damage or destroy its protective working.
  861.  
  862.         Thunderbyte is constantly checking  upon its own variables  with
  863.         a kind  of control  number that  is different  for each version.
  864.         The positions  of the  memory where  the variables  are kept are
  865.         also different for each version.
  866.  
  867.  
  868.     +   Extra possibilities.
  869.  
  870.         Thunderbyte offers  you some  interesting bonuses,  like booting
  871.         from drive B:.
  872.  
  873.  
  874.  
  875.  
  876. CONCLUSION
  877. ----------
  878.  
  879.     Are you surprised about the relative great effect and  inventiveness
  880.     of  such  a  small  virusscan  program?  Get Thunderbyte and keep on
  881.     amazing yourself!
  882.  
  883.     If you appreciate  TbScanX or if  it has already  been of help  in a
  884.     difficult situation:
  885.  
  886.         Buy Thunderbyte, or register TbScanX
  887.  
  888.  
  889.     For more information you can contact:
  890.  
  891.     ESaSS B.V.                          Tel:  31 - 80 - 787 771
  892.     P.o. box 1380                       Fax:  31 - 80 - 777 327
  893.     6501 BJ  Nijmegen                   Data: 31 - 85 - 212 395
  894.     The Netherlands                         (2:280/200 @fidonet)
  895.  
  896.  
  897.     TbScanX is written by Frans Veldman.
  898.  
  899.     TbScan and the signature files are available on ESaSS /  Thunderbyte
  900.     support BBS, Tel: 31-85-212395 (300/1200/2400 bps).
  901.  
  902.     If  you  are  running  a  electronic  mail  system,  you  can   also
  903.     file-request  TBSCAN  to  get  the  latest  version  of  TBSCAN.COM,
  904.     TBSCANX  to  get  the  resident  automatic  version  of TBSCANX, and
  905.     VIRUSSIG to  obtain a  copy of  the latest  update of  the signature
  906.     file.
  907.